package com.monster.datasourcejob.metadata;

import com.monster.datasourcejob.model.Field;
import com.monster.datasourcejob.model.Table;

import java.util.List;

/**
 * description:
 * 数据源元信息接口
 * @author Yuanml on 2021/6/28 16:35
 */
public interface MetaDataDriver {
    /**
     * description:
     * 数据源内的数据表信息
     * @return 数据源内的数据表信息
     * @author Yuanml
     * @date 2021/6/28 16:37
     **/
    List<Table> getTables();

    /**
     * description:
     * 数据源内的数据表字段信息
     * @param tableName  表名称
     * @return 数据源内的数据表字段信息
     * @author Yuanml
     * @date 2021/6/28 16:38
     **/
    List<Field> getFields(String tableName);

    /**
     * description:
     * 获取指定表名建表语句
     * @param tableName   表名
     * @return            获取指定表名建表语句
     * @author Yuanml
     * @date 2021/7/2 16:03
     **/
    String getTableBuildingSql(String tableName);
}
